Flutter অ্যাপ্লিকেশন ডেভেলপমেন্টে GitHub Actions এবং Bitrise ব্যবহার করে Automated Builds সেটআপ করা একটি গুরুত্বপূর্ণ এবং কার্যকরী প্রক্রিয়া। এটি আপনাকে স্বয়ংক্রিয়ভাবে অ্যাপ বিল্ড এবং টেস্ট করার সুবিধা দেয়, যা কোডের কোয়ালিটি মেইনটেইন করে এবং দ্রুত ডেলিভারি নিশ্চিত করে। নিচে এই দুটি টুল ব্যবহার করে Flutter অ্যাপের জন্য Automated Builds সেটআপ করার ধাপগুলো দেয়া হলো:
GitHub Actions ব্যবহার করে Automated Builds সেটআপ করা:
GitHub Actions হলো একটি Continuous Integration/Continuous Deployment (CI/CD) টুল, যা GitHub রিপোজিটরিতে ডিরেক্টলি ইন্টিগ্রেটেড। এটি আপনার Flutter প্রজেক্টের উপর বিভিন্ন বিল্ড, টেস্ট, এবং ডিপ্লয়মেন্ট প্রক্রিয়া স্বয়ংক্রিয় করতে পারে।
ধাপ ১: GitHub Workflow তৈরি করা:
- Flutter প্রজেক্টের রুট ডিরেক্টরিতে
.github/workflowsফোল্ডার তৈরি করুন। flutter.ymlনামে একটি ফাইল তৈরি করুন এবং এর মধ্যে নিচের কোড যুক্ত করুন:
name: Flutter CI
on:
push:
branches:
- main
pull_request:
branches:
- main
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v3
- name: Setup Flutter
uses: subosito/flutter-action@v2
with:
flutter-version: '3.0.0' # আপনার ব্যবহৃত Flutter ভার্সন
- name: Install dependencies
run: flutter pub get
- name: Run tests
run: flutter test
- name: Build APK
run: flutter build apk --release
- name: Build iOS (only on macOS)
if: runner.os == 'macOS'
run: flutter build ios --release
বিবরণ:
- on: এটি নির্ধারণ করে কোন ইভেন্ট ট্রিগার হলে এই ওয়র্কফ্লো রান হবে। এখানে
pushএবংpull_requestইভেন্ট নির্ধারণ করা হয়েছে। - jobs: প্রতিটি কাজের বিবরণ।
- runs-on: কোন অপারেটিং সিস্টেমে এই কাজ রান হবে তা নির্ধারণ করা হয়েছে।
- Setup Flutter: এটি Flutter সেটআপ করে।
- Install dependencies: ডিপেন্ডেন্সি ইন্সটল করে।
- Run tests: টেস্ট কেস রান করে।
- Build APK: Android এর জন্য একটি APK বিল্ড করে।
- Build iOS: iOS এর জন্য IPA বিল্ড করে (শুধুমাত্র macOS runner এ)।
ধাপ ২: GitHub Actions রান করা:
- এই কনফিগারেশন ফাইল রিপোজিটরিতে পুশ করার পর, GitHub স্বয়ংক্রিয়ভাবে এই ওয়র্কফ্লো রান করবে যখন
mainব্রাঞ্চে কোনো কোড পুশ হবে। - Actions ট্যাবে গিয়ে আপনি ওয়র্কফ্লো প্রোগ্রেস এবং লগ চেক করতে পারবেন।
GitHub Actions এর সুবিধা:
- স্বয়ংক্রিয় টেস্ট এবং বিল্ড: কোড পুশ করার সাথে সাথে স্বয়ংক্রিয়ভাবে বিল্ড এবং টেস্ট সম্পন্ন হয়।
- ইন্টিগ্রেটেড টুল: এটি সরাসরি GitHub এ ইন্টিগ্রেটেড, তাই আলাদা সেটআপের প্রয়োজন হয় না।
- কাস্টমাইজেশন সুবিধা: আপনি সহজেই ওয়র্কফ্লো কাস্টমাইজ করতে পারেন এবং বিভিন্ন বিল্ড এবং টেস্ট সিচুয়েশন হ্যান্ডেল করতে পারেন।
Bitrise ব্যবহার করে Automated Builds সেটআপ করা:
Bitrise হলো একটি ক্লাউড-ভিত্তিক CI/CD টুল, যা বিশেষ করে মোবাইল অ্যাপ ডেভেলপমেন্টের জন্য ডিজাইন করা। এটি আপনাকে Android এবং iOS উভয় প্ল্যাটফর্মের জন্য স্বয়ংক্রিয় বিল্ড এবং ডিপ্লয়মেন্টে সহায়তা করে।
ধাপ ১: Bitrise অ্যাকাউন্ট তৈরি করা এবং প্রজেক্ট যুক্ত করা:
- Bitrise এ সাইন আপ করুন: Bitrise এ সাইন আপ করুন এবং আপনার GitHub অ্যাকাউন্টের সাথে কানেক্ট করুন।
- নতুন অ্যাপ যোগ করুন:
- Add New App এ ক্লিক করুন।
- আপনার GitHub রিপোজিটরি সিলেক্ট করুন।
- প্রজেক্টের সেটআপ এবং বিল্ড ফাইল অটো-ডিটেক্ট করতে দিন।
ধাপ ২: বিল্ড কনফিগার করা:
- Flutter অ্যাপ ডিটেকশন: Bitrise স্বয়ংক্রিয়ভাবে আপনার প্রজেক্টে Flutter ডিটেক্ট করবে।
- Workflow Editor এ যান:
- Primary Workflow সিলেক্ট করুন।
- এখানে আপনি বিভিন্ন বিল্ড এবং টেস্ট স্টেপ যোগ করতে পারবেন।
- নিচের মত করে স্টেপগুলো যোগ করুন:
- Flutter Install: Flutter ইন্সটল করার জন্য।
- Flutter Test: টেস্ট চালানোর জন্য।
- Flutter Build: APK এবং IPA বিল্ড করার জন্য।
- Environment Variables কনফিগার করুন:
- ANDROID_KEYSTORE_PATH, ANDROID_KEYSTORE_PASSWORD, এবং ANDROID_KEY_ALIAS এর মতো environment variables যোগ করুন যদি আপনার Android অ্যাপ সাইনিং প্রয়োজন হয়।
ধাপ ৩: বিল্ড ট্রিগার করা:
Bitrise স্বয়ংক্রিয়ভাবে বিল্ড ট্রিগার করবে যখন আপনি আপনার রিপোজিটরিতে কোড পুশ করবেন। আপনি ম্যানুয়ালি বিল্ড ট্রিগার করতে চাইলে Bitrise Dashboard এ গিয়ে Start/Schedule a Build ক্লিক করুন।
Bitrise এর সুবিধা:
- ক্লাউড-বেইজড বিল্ড সার্ভিস: কোন ফিজিক্যাল সার্ভার ম্যানেজ করার প্রয়োজন হয় না।
- প্ল্যাটফর্ম সাপোর্ট: Android এবং iOS উভয় প্ল্যাটফর্মে বিল্ড এবং টেস্ট করা যায়।
- এডভান্সড কনফিগারেশন অপশন: বিল্ড সেটআপ এবং কনফিগারেশনের অনেক ফ্লেক্সিবিলিটি প্রদান করে।
- ইন্টিগ্রেশন: Slack, Firebase, এবং আরো অন্যান্য টুলের সাথে সহজে ইন্টিগ্রেট করা যায়।
Best Practices for Automated Builds:
- বিল্ড টাইম অপ্টিমাইজ করুন: আপনার বিল্ড প্রক্রিয়াকে দ্রুত করার জন্য ডিপেন্ডেন্সি ক্যাশিং এবং লাইটওয়েট বিল্ড কনফিগারেশন ব্যবহার করুন।
- সিকিউরিটি মেইনটেইন করুন: API Key, Keystore ফাইল এবং সিক্রেটগুলো environment variables বা secret management টুল দিয়ে সিকিউর করুন।
- Test Coverage বাড়ান: Automated Builds এর সাথে ইউনিট টেস্ট, উইজেট টেস্ট এবং ইন্টিগ্রেশন টেস্ট অন্তর্ভুক্ত করুন।
- স্টেজিং এবং প্রোডাকশন বিল্ড ভিন্ন রাখুন: Bitrise বা GitHub Actions এর মধ্যে বিল্ড ভ্যারিয়েন্ট বা ফ্লেভার ব্যবহার করে স্টেজিং এবং প্রোডাকশন বিল্ড আলাদা করুন।
উপসংহার:
Flutter এ GitHub Actions এবং Bitrise ব্যবহার করে Automated Builds সেটআপ করা আপনার ডেভেলপমেন্ট প্রক্রিয়াকে আরও কার্যকরী এবং স্বয়ংক্রিয় করতে সাহায্য করবে। এটি কোড কন্টিনিউয়াস ইন্টিগ্রেশন এবং ডেলিভারিতে একটি গুরুত্বপূর্ণ ভূমিকা পালন করে। সঠিক কনফিগারেশন এবং সিকিউরিটি ব্যবস্থাপনা নিশ্চিত করে, আপনি একটি স্থিতিশীল এবং প্রফেশনাল বিল্ড প্রসেস গড়ে তুলতে পারেন।
Read more